DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT 
DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT 

                ICM Issue Resolution Document  (IIRD)

IIRD ID#:        9
ISSUE TITLE:     Clarification of S-parameter Port Assignments
REQUESTOR:       Michael Mirmak, Intel Corporation
DATE SUBMITTED:  January 16, 2007
DATE REVISED:    
DATE ACCEPTED BY IBIS OPEN FORUM: 

****************************************************************************
****************************************************************************

STATEMENT OF THE ISSUE:

ICM defines links to S-parameter files.  S-parameter ports may not 
correspond to individual physical terminals or nodes.  ICM uses the term
"ports" loosely and does not specify how S-parameter ports consisting
of a terminal plus a reference should be handled.  The text below clarifies
the usage of the term "port" and permits several unambiguous referencing
schemes when ICM is used with S-parameter data.

****************************************************************************

STATEMENT OF THE RESOLVED SPECIFICATIONS:

Proposed changes are denoted by *.

|----- SECTION THREE OLD TEXT -----

  14) Note that the text here, in many cases, assumes that the model data
  describes a connector. However, other types of interconnect can be modeled
  using the ICM format; in these cases, the words "pin" and "port" in the text
  below can be interpreted to refer to the locations where the interconnect is
  accessed for probing, measurement or analysis.

|---- END OLD TEXT ----


|----- SECTION THREE NEW TEXT -----

  14) Note that the text here, in many cases, assumes that the model data
  describes a connector. However, other types of interconnect can be modeled
*  using the ICM format; in these cases, the words "pin" and "terminal" in the text
  below can be interpreted to refer to the locations where the interconnect is
  accessed for probing, measurement or analysis.

|---- END NEW TEXT ----

|----- [Tree Path Description] KEYWORD OLD TEXT -----
| under "Fork, Endfork"

  At a fork, a path split similar in shape to the letter "T" is
  created. The matrix sections constituting the "T" are
  connected, including the first of any sections listed between
  the Fork and Endfork subparameters. The sections (zero or more)
  between the Fork and Endfork subparameters are connected
  together as in any other path description. If no pin map name
  is placed between a Fork and Endfork block, then the block
  constitutes a stub. However, if a pin map name is placed at the
  end of the Fork and Endfork block, an externally available port
  is created on the interconnect.

|---- END OLD TEXT ----

|----- [Tree Path Description] KEYWORD NEW TEXT -----
| under "Fork, Endfork"

  At a fork, a path split similar in shape to the letter "T" is
  created. The matrix sections constituting the "T" are
  connected, including the first of any sections listed between
  the Fork and Endfork subparameters. The sections (zero or more)
  between the Fork and Endfork subparameters are connected
  together as in any other path description. If no pin map name
  is placed between a Fork and Endfork block, then the block
  constitutes a stub. However, if a pin map name is placed at the
*  end of the Fork and Endfork block, an externally available terminal
  is created on the interconnect.

|---- END NEW TEXT ----

|---- [ICM S-parameter] KEYWORD OLD TEXT ----

==============================================================================
     Keyword: [ICM S-parameter]
    Required: No, unless ICM_model_type subparameter of [Begin ICM Model] is 
              equal to "S-parameter".
  Sub-Params: File_name, Port_assignment
     Used By: [Begin ICM Section]
 Description: Indicates a reference to an external S-parameter file
 Usage Rules: An S-parameter matrix can be used in place of an RLGC matrix.  

              The [ICM S-parameter] keyword may appear multiple times in the 
              file, however it may appear only once between the 
              [Begin ICM Section]/[End ICM Section] keyword pair, and they 
              must be placed after the [Derivation Method] keyword.


              File_name

              File_name refers to the name of an external file in "Touchstone" 
              format containing S-parameter matrix data for this section.  The 
              Touchstone file must be located in the same directory as the ICM 
              file which makes reference to it.


              Port_assignment

              "Port_assignment" is used to relate the ports in the S-parameter 
              file to the node map for a particular N_Section as defined under 
              the [Nodal Path Description] keyword.  The "Port_assignment" 
              table entries must match the node names from the corresponding 
              [Nodal Path Description].  No more and no fewer entries in the 
              table are allowed.  Note that [ICM S-parameter] may not be used 
              to describe data for sections in a [Tree Path Description].

              There are two columns used in the Port_assignment.  The first 
              column should reference the input port name as defined in the 
              Touchstone file that is related to the "Node Name" in the second 
              column.  The second column contains a "Node Name" as defined in 
              the node list under the corresponding [Nodal Path Description].  
-----------------------------------------------------------------------------
[ICM S-parameter]
File_name sample.s4p     | any name and extension allowed
Port_assignment
|Port    Node 
  1       A1  
  2       B1 
  3       A2      
  4       B2
  5       A3      
  6       B3
  7       A4      
  8       B4

|---- END OLD TEXT ----

|---- [ICM S-parameter] KEYWORD NEW TEXT ----


              Port_assignment

              "Port_assignment" is used to relate the ports in the S-parameter 
              file to the node map for a particular N_Section as defined under 
              the [Nodal Path Description] keyword.  The "Port_assignment" 
              table entries must match the node names from the corresponding 
*              [Nodal Path Description].  Note that [ICM S-parameter] may not be used 
              to describe data for sections in a [Tree Path Description].

              There are two columns used in the Port_assignment.  The first 
              column should reference the input port name as defined in the 
              Touchstone file that is related to the "Node Name" in the second 
              column.  The second column contains a "Node Name" as defined in 
              the node list under the corresponding [Nodal Path Description].

*              Note that "ports" for S-parameters are not necessarily 
*              single physical nodes or terminals.  A "port" may also refer to
*              a physical node plus its reference or return terminal.  
*              Therefore, while Node Names may only appear once in the Port_assignment 
*              list, Port names may be duplicated if needed to describe 
*              assignmnent of reference terminals.  Where a port name is duplicated,
*              the node first name in the Port_assignment list is the measurement
*              node in the port.  The second node using the same port name 
*              is the reference port.  The order of occurrance is
*              determined starting with the top of the Port_assignment list.
*              Where N ports are declared, and each port consists of a terminal
*              and a reference, up to 2*N Node Names may be present.
*
*              In some cases, S-parameter ports may share reference nodes, or use a single
*              reference node.  In this case, both port and node names may appear multiple
*              times under "Port_assignment."
*
*              Finally, some S-parameter data sets may be generated using a reference               
*              that is not itself a physical node.  Here, each of the ports would correspond 
*              to a single physical node, but an "virtual" port is also assumed for 
*              the S-parameter data, to serve as the reference.  In these cases, 
*              the reserved word "GND"  must be used as the Port name for this
*              single reference in the Port_assignment list.  This reference,  
*              though non-physical, may be connected to a node in the Node Name list.
*              Note that this "GND" is not necessarily a SPICE node 0 or ideal reference
*              for other parts of the ICM model.

-----------------------------------------------------------------------------
[ICM S-parameter]
File_name sample1.s4p     | any name and extension allowed
Port_assignment
|Port    Node 
  1       A1  
  1       A1ref 
  2       A2      
  2       A2ref
  3       A3      
  3       A3ref
  4       A4      
  4       A4ref

| The second Node Name for each duplicated Port name above is considered the
| reference for the first node in the port.  Note that the Touchstone file
| only contains data for four ports, but each has a unique reference.

-----------------------------------------------------------------------------
[ICM S-parameter]
File_name sample2.s5p     | any name and extension allowed
Port_assignment
|Port    Node 
  1       A1 
  1       PortRef
  2       B1 
  2       PortRef
  3       A2      
  3       PortRef
  4       B2
  4       PortRef
  5       A3
  5       PortRef

| Here, the S-parameter ports share the same physical reference node.  The
| Touchstone(R) file includes data for 5 ports total.

-----------------------------------------------------------------------------
[ICM S-parameter]
File_name sample3.s4p     | any name and extension allowed
Port_assignment
|Port    Node 
  1       A1  
  2       B1 
  3       A2      
  4       B2
  GND     Ref     

| Here, the node "Ref" connects to the reference port using the
| reserved word GND.  This is a "fifth port" not represented in the
| Touchstone(R) file matrix data, but assumed as the reference for the other
| four ports.
|
| Note that a Touchstone(R) file that mixes explicit and assumed ports cannot
| be represented using this syntax.

|---- END NEW TEXT ----

In addition, all examples using the word "Port" should be changed to use
the word "Terminal" or the abbreviation "Term," with appropriate
capitalization for consistency.

****************************************************************************

ANALYSIS PATH/DATA THAT LED TO SPECIFICATION:

The port issue addressed by these changes was first identified by Sam
Chitwood of Sigrity.  Significant analysis was performed by Bob Ross of 
Teraspeed Consulting Group.  Clarification of port references courtesy of
John Moore of Agilent.

****************************************************************************

ANY OTHER BACKGROUND INFORMATION:


****************************************************************************